sousMenu = new Array();
sousMenu[0] = new Array("Nouveau","Enregistrer");
sousMenu[1] = new Array("Editer","Supprimer");


$(document).ready(function(){
	
	$(".documentsCompetence img").unbind('click');

	// Suppression submit
	$("[@value=Valider]").remove();

	$(".supprimer").unbind('click');

	$("#gestionDocs .supprimer").removeAttr("class");
	
	bindSupressionDocument();

	// Montrer / cacher tests théoriques
	$(".epreuveTheorique").toggle(
		function ()
		{
			$(this).next("ul").hide("fast");
		},
		function ()
		{
			$(this).next("ul").show("fast");
		}
	);

	$(".nomTest li").toggle(
		function ()
		{
			$(this).find("ul").hide("fast");
		},
		function ()
		{
			$(this).find("ul").show("fast");
		}
	);

	$(".nomTest li").trigger('click');


	// Slider gestionDocs
	$("#gestionDocsHeader a").attr("href","javascript:;");

	$("#gestionDocs").hide();
	$("#gestionDocsHeader").toggle(
		function()
		{
			$("#gestionDocs").slideDown();
		},
		function()
		{
			$("#gestionDocs").slideUp();
		}
	);

	// Upload document
	$("#uploadDoc").toggle(
		function()
		{
			$("#boiteDialogue div").not("#upload").each (
				function ()
				{
					$(this).find('button:last').trigger('click');
				}
			);

			$("#upload").slideDown();
		},
		function()
		{
			$("#upload").slideUp();
		}
	);
	$("#upload button:last").click(
		function()
		{
			$("#uploadDoc").trigger("click");
			return false;
		}
	);

	// Créer un répertoire
	$("#ajouterRepertoire button:first").click(
		function()
		{
			$.ajax({
			   data: "fonction=creerRepertoire&repertoireEncours="+$('#repertoireEnCours').val()+"&value="+$('#ajouterRepertoire input').val(),
			   success: function(msg){
				$.ajax({
				   data: "fonction=ouvrirRepertoire&repertoireId=doc_"+$('#repertoireEnCours').val()+"&userId="+$("#userId").val(),
				   success: function(msg){
				    $("#listeDocuments tbody tr").not(".header").remove();
				    $("#listeDocuments tbody").append(msg);
				    majRepertoire();
				   },
				   error: function(){
				   }
				 });
				$("#ajouterRepertoire").slideUp();
			   },
			   error: function(){
			    return false
			   }
			 });
		}
	);	
	$("#ajouterRepertoire button:last").click(
		function()
		{
			$("#ajouterRepertoire").slideUp();
		}
	);	

	$("#addDir").toggle(
		function()
		{

			$("#boiteDialogue div").each (
				function ()
				{
					$(this).find('button:last').trigger('click');
				}
			);

			$("#ajouterRepertoire").slideDown();
		},
		function()
		{
			$("#ajouterRepertoire").slideUp();
		}
	);


	majRepertoire();

	





	// Activation des commandes si un ou plusieurs doc sélectionnés
	unableDisable();

	// Sous menus
	$("#menuLogos,#boiteDialogue,#listeDocuments,#listeDocuments tr").click(
		function()
		{
			$("#sousMenu").hide();
			$("#menuTexte a").css("background","transparent");
		}
	);

	$("#menuTexte a").click(
		function()
		{
			$("#sousMenu li").hide();

			var index = $(this).prev("a").length;

			if (index == $("#sousMenu").attr('alt'))
			{
				$(this).css("background","transparent");
				$("#sousMenu").attr('alt','');
				$("#sousMenu").hide();
				return true;
			}

			var pos = $(this).findPos();
			$("#sousMenu").css("left",pos.x);

			$(this).css("background","#E2E6EC");

			for (i=0;i<sousMenu[index].length;i++)
			{
				$("#sousMenu li[@alt="+sousMenu[index][i]+"]").show();
			}

			$("#sousMenu").attr('alt',index);

			$("#sousMenu").show();
		}
	);

	$("#menuTexte a").mouseover(
		function()
		{
			if ($("#sousMenu").attr("alt") == $(this).prev("a").length)
			return false;

			$("#menuTexte a").css("background","transparent");
			$(this).css("background","#E2E6EC");

			if ($("#sousMenu").css("display") != 'none')
			{
				$(this).trigger('click');
			}
		}
	);

	$("#menuTexte a").mouseout(
		function()
		{
			if ($("#sousMenu").css("display") == 'none')
			$(this).css("background","transparent");
		}
	);


	// Ajout document sous menu
	$("#sousMenu li[@alt=Nouveau]").click(
		function()
		{
			$("#uploadDoc").trigger('click');
			$("#sousMenu").hide();
		}
	);



	// Plier / déplier une compétence
	$(".plierDeplier").parent().attr("href","javascript:;");
	plierDeplier();

	// Utiliser un document dans une compétence
	$(".commandes a").attr("href","javascript:;");
	$(".commandes a").toggle(
		function ()
		{
			$(this).parents("tr").find(".docDispo").slideDown("fast");
		},
		function ()
		{
			$(this).parents("tr").find(".docDispo").slideUp("fast");
		}
	);

	ajouterDoc();	
}
);


function plierDeplier()
{
	$(".plierDeplier").unbind("click");

	$(".plierDeplier").click(
		function()
		{

		if ($(this).attr('alt') == 'Plier')
		{
			var competenceId = $(this).parents("tr").next().find("td:first").attr("alt").substring(5,$(this).parents("tr").next().find("td:first").attr("alt").length);

			$.ajax({
			   data: "fonction=saveSession&competenceId="+competenceId+"&value=0",
			   success: function(msg){
			   },
			   error: function(){
			    return false
			   }
			 });

			$(this).parents("tr").next().find("p,ul,fieldset").hide('fast');
			var img = $(this).attr('src').substr(0,$(this).attr('src').lastIndexOf("/")+1)+'plus.gif';
			$(this).attr("src",img);
			$(this).attr("alt","Deplier");
		}
		else
		{
			var competenceId = $(this).parents("tr").next().find("td:first").attr("alt").substring(5,$(this).parents("tr").next().find("td:first").attr("alt").length);

			$.ajax({
			   data: "fonction=saveSession&competenceId="+competenceId+"&value=1",
			   success: function(msg){
			   },
			   error: function(){
			    return false
			   }
			 });

			$(this).parents("tr").next().find("p,ul").show('fast');
			var img = $(this).attr('src').substr(0,$(this).attr('src').lastIndexOf("/")+1)+'minus.gif';
			$(this).attr("src",img);
			$(this).attr("alt","Plier");
		}
		}
	);
}


function bindSupressionDocument()
{
	$(".supprimer").unbind('click');

	$(".supprimer").click(
	function()
	{
		documentId = $(this).attr("id").substring(6,$(this).attr("id").length);
		competenceId = $(this).parents("td").attr("alt").substring(5,$(this).parents("td").attr("alt").length);

		$.ajax({
		   data: "fonction=supprimerDocExistant&userId="+$('#userId').val()+"&competenceId="+competenceId+"&documentId="+documentId,
		   success: function(msg){
		     if (msg == true)
		     {
			$("td[@alt=comp_"+competenceId+"] .docDispo ul").append('<li alt="doc_'+documentId+'" class="ajouterDoc">'+$("td[@alt=comp_"+competenceId+"] .listeDocumentsCompetence li[@alt=doc_"+documentId+"] a:first").text()+'</li>');
			$("td[@alt=comp_"+competenceId+"] .listeDocumentsCompetence li[@alt=doc_"+documentId+"]").remove();
			
			if ($("td[@alt=comp_"+competenceId+"] .listeDocumentsCompetence li").length == 0)
			$("td[@alt=comp_"+competenceId+"] .listeDocumentsCompetence span").show();

			ajouterDoc();
		     }
		   },
		   error: function(){
		    return false
		   }
		 });
	});

	// Editer l'explication / justification de l'intérêt d'un document
	$(".editerExplication").click(
		function()
		{
			// Validation du forumlaire ouvert
			if ($("#formulaireEditionExplication").length == 1)
			$("#formulaireEditionExplication button:first").trigger('click');


			$(this).prev().prev().before('<div id="formulaireEditionExplication"><textarea></textarea><br><button>Valider</button> <button>Annuler</button></div>');

			//if ($("#formulaireEditionExplication").next().text().contains("Aucune explication"))
			$("#formulaireEditionExplication textarea").val($("#formulaireEditionExplication").next().text());


			$("#formulaireEditionExplication").slideDown('fast');

			// Validation
			$("#formulaireEditionExplication button:first").click(
				function() 
				{
					var documentId = $(this).parents("li").attr('alt').substring(4,$(this).parents("li").attr('alt').length);
					var competenceId = $(this).parents("td").attr("alt").substring(5,$(this).parents("td").attr("alt").length);

					$.ajax({
					   data: "fonction=editerDocExistant&userId="+$('#userId').val()+"&competenceId="+competenceId+"&documentId="+documentId+"&commentaire="+$("#formulaireEditionExplication textarea").val(),
					   success: function(msg){
						var lien = $("#formulaireEditionExplication").next().find("a").clone(true);
						$("#formulaireEditionExplication").next().text($("#formulaireEditionExplication textarea").val());
						$("#formulaireEditionExplication").next().append(lien);
						$("#formulaireEditionExplication").remove();
					   },
					   error: function(){
					    return false
					   }
					 });
					
				}
			);

			// Annulation
			$("#formulaireEditionExplication button:last").click(
				function() 
				{
					$("#formulaireEditionExplication").remove();
				}
			);
		}
	);
}

function ajouterDoc()
{
	$(".ajouterDoc").unbind("click");

	// Ajout doc existant
	$(".ajouterDoc").click(
		function()
		{
			$(this).addClass('suppression');
			var documentId = $(this).attr("alt").substring(4,$(this).attr("alt").length);
			competenceId = $(this).parents("td").attr("alt").substring(5,$(this).parents("td").attr("alt").length);

			$.ajax({
			   data: "fonction=ajouterDocExistant&userId="+$('#userId').val()+"&competenceId="+competenceId+"&documentId="+documentId,
			   success: function(msg){
			     $('[@alt=comp_'+competenceId+']').find('.listeDocumentsCompetence span').hide();
			     $('.suppression').remove();
			     $('[@alt=comp_'+competenceId+']').find('.listeDocumentsCompetence').append(msg);
			     bindSupressionDocument();

			     // Aucun doc dispo
			     if ($('[@alt=comp_'+competenceId+'] .docDispo li').length == 0)
			     $('[@alt=comp_'+competenceId+'] .docDispo ul').append('<small>Aucun document disponible</small>');

			     else
			     $('[@alt=comp_'+competenceId+'] .docDispo small').remove();
			   },
			   error: function(){
			    return false
			   }
			 });
		}
	);
}

function unableDisable()
{
	if ($("#downloadDoc").length == 0)
	return false;

	$("#editionFichier").hide();

	// Activation des commandes si un ou plusieurs doc sélectionnés
	if ($(".selectionLigne").length == 0)
	{
		// Telechargement des docs
		var img = $("#downloadDoc").attr('src').substr(0,$("#downloadDoc").attr('src').lastIndexOf("/")+1)+'document-save-disabled.png';
		$("#downloadDoc").attr('src',img);
		$("#downloadDoc").css('cursor','default');
		$("#downloadDoc").unbind("click");

			// Sous menu
			$("#sousMenu li[@alt=Enregistrer]").unbind("click");
			$("#sousMenu li[@alt=Enregistrer]").css("color","gray");

		// Supression des docs
		var img = $("#deleteDoc").attr('src').substr(0,$("#deleteDoc").attr('src').lastIndexOf("/")+1)+'stop-disabled.png';
		$("#deleteDoc").attr('src',img);
		$("#deleteDoc").css('cursor','default');
		$("#deleteDoc").unbind("click");

			// Sous menu
			$("#sousMenu li[@alt=Supprimer]").unbind("click");
			$("#sousMenu li[@alt=Supprimer]").css("color","gray");
	}
	
	else
	{
		// proprietes des docs
		// Ne peut éditer qu'un seul document à la fois
		if ($(".selectionLigne").length == 1)
		{
			var img = $("#docProperties").attr('src').substr(0,$("#docProperties").attr('src').lastIndexOf("/")+1)+'document-properties.png';
			$("#docProperties").attr('src',img);
			$("#docProperties").css('cursor','pointer');

			$("#sousMenu li[@alt=Editer]").css("color","black");			

			$("#docProperties, #sousMenu li[@alt=Editer]").click(
				function()
				{
					$("#upload").hide("fast");
					$("#menuTexte a:eq("+$("#sousMenu").attr('alt')+")").trigger('click');
					$("#boiteDialogue div button:last").trigger('click');

					var nomFichier = $(".selectionLigne:first td:first").text();
					var descriptionFichier = $(".selectionLigne:first td:eq(1)").text();
					documentId = $(".selectionLigne:first").attr("id").substring(4,$(".selectionLigne:first").attr("id").length);

					$("#editionFichier input:first").val(nomFichier);
					$("#editionFichier textarea:first").val(descriptionFichier);
					$("#editionFichier").show("fast");

					$("#editionFichier button:first").click(
						function()
						{
							$.ajax({
							   data: "fonction=modifierDocument&documentId="+documentId+"&nomFichier="+$("#editionFichier [@name=nomFichier]").val()+"&descriptionFichier="+$("#editionFichier [@name=descriptionFichier]").val(),
							   success: function(msg){
							     $(".selectionLigne:first td:first").text($("#editionFichier [@name=nomFichier]").val());	
							     $(".selectionLigne:first td:eq(1)").text($("#editionFichier [@name=descriptionFichier]").val());				   
							     $("#editionFichier").hide("fast");
							   },
							   error: function(){
							    return false
							   }
							 });
						}
					);
					$("#editionFichier button:last").click(
						function()
						{
							$("#editionFichier").hide("fast");
						}
					);
				}
			);

			var properties = true;
		}

		// Telechargement des docs
		var img = $("#downloadDoc").attr('src').substr(0,$("#downloadDoc").attr('src').lastIndexOf("/")+1)+'document-save.png';
		$("#downloadDoc").attr('src',img);
		$("#downloadDoc").css('cursor','pointer');
		$("#sousMenu li[@alt=Enregistrer]").css("color","black");
		$("#downloadDoc, #sousMenu li[@alt=Enregistrer]").click(
			function()
			{
				$("#boiteDialogue div button:last").trigger('click');
				$("#menuTexte a:eq("+$("#sousMenu").attr('alt')+")").trigger('click');

				listeDocId = new Array();
				$(".selectionLigne").each(
					function()
					{
						listeDocId.push($(this).attr("id").substring(4,$(this).attr("id").length));
					}
				);

				if (listeDocId.length == 1)
				var docUrl = "documentId="+listeDocId[0];
				else
				{
					var docUrl = "zip=true&listeDoc=";
					for (i=0;i<listeDocId.length;i++)
					{
						if (i == 1)
						var tiretBas = "_";
						else
						var tiretBas = "";

						var docUrl = docUrl+tiretBas+listeDocId[i];
					}
				}

				var url = window.location+"";
				window.location = url.substr(0,url.lastIndexOf("/")+1)+"download.php?"+docUrl; 
			}
		);

		// Supression des docs
		var img = $("#deleteDoc").attr('src').substr(0,$("#deleteDoc").attr('src').lastIndexOf("/")+1)+'stop.png';
		$("#deleteDoc").attr('src',img);
		$("#deleteDoc").css('cursor','pointer');
		$("#sousMenu li[@alt=Supprimer]").css("color","black");
		$("#deleteDoc, #sousMenu li[@alt=Supprimer]").click(
			function()
			{

				$("#boiteDialogue div").each (
					function ()
					{
						if ($(this).css('display') == 'block')
						{
							$(this).find('button:last').trigger('click');
						}
					}
				);


				$("#menuTexte a:eq("+$("#sousMenu").attr('alt')+")").trigger('click');
				$("#messageSuppr").slideUp();

				// Message attention
				if ($(".selectionLigne").length == 1)
				var msg = "Attention, ce fichier va &ecirc;tre effac&eacute; de votre r&eacute;pertoire.";
				else
				var msg = "Attention, ces fichiers vont &ecirc;tre effac&eacute;s de votre r&eacute;pertoire.";

				$("#boiteDialogue").append('<div id="messageSuppr">'+msg+'<br><button>Confirmer</button> <button>Annuler</button></div>');

				$("#boiteDialogue button:last").click(
					function()
					{
						$("#messageSuppr").remove();
					}
				);

				$("#messageSuppr button:first").click(
				function()
				{
					listeDocId = new Array();
					$(".selectionLigne").each(
						function()
						{
							listeDocId.push($(this).attr("id").substring(4,$(this).attr("id").length));
						}
					);

					documentIdList = "";

					for (i=0;i<listeDocId.length;i++)
					{
						if (i == 1)
						var tiretBas = "_";
						else
						var tiretBas = "";

						var documentIdList = documentIdList+tiretBas+listeDocId[i];
					}

					$.ajax({
					   data: "fonction=supprimerDocuments&documentIdList="+documentIdList,
					   success: function(msg){
					     $('.selectionLigne').remove();
					     $("#listeDocuments caption").text("Espace disponible : "+msg);
					     $("#messageSuppr").remove();

						for (i=0;i<listeDocId.length;i++)
						{
							$("[@alt="+listeDocId[i]+"]").remove();
						}
					   },
					   error: function(){
					    return false
					   }
					 });
				}
				);
			}
		);
	}

	// proprietes des docs disabled (si 0 ou > 2)
	if (!properties)
	{
		var img = $("#docProperties").attr('src').substr(0,$("#docProperties").attr('src').lastIndexOf("/")+1)+'document-properties-disabled.png';
		$("#docProperties").attr('src',img);
		$("#docProperties").css('cursor','default');
		$("#docProperties").unbind("click");
	
			$("#sousMenu li[@alt=Editer]").unbind("click");
			$("#sousMenu li[@alt=Editer]").css("color","gray");
	}
}


function majRepertoire()
{
	$("#listeDocuments tr").not('.header').dblclick(
		function()
		{
			// Répertoire
			if ($(this).attr('type') == 'repertoire')
			{
				var repId = $(this).attr('id').substring(4,$(this).attr('id').length);
				$('#upload input[@name=repertoire]').val(repId);

				$.ajax({
				   data: "fonction=ouvrirRepertoire&repertoireId="+$(this).attr('id')+"&userId="+$("#userId").val(),
				   success: function(msg){
				    $("#listeDocuments tbody tr").not(".header").remove();
				    $("#listeDocuments tbody").append(msg);
				    majRepertoire();
				   },
				   error: function(){
				   }
				 });
			}

			// Fichier
			if ($(this).attr('type') == 'fichier')
			{
			  $('.selectionLigne').removeClass();
			  $(this).attr("class","selectionLigne");
			  unableDisable();
			  $("#downloadDoc").trigger('click');
			}
		}
	);

	// Gestion des fichiers
	$("#listeDocuments tr").not('.header').toggle(
		function ()
		{
			$(this).attr("class","selectionLigne");
			unableDisable();
		},
		function ()
		{
			$(this).removeAttr("class");
			unableDisable();
		}
	);
}


jQuery.fn.extend({
           findPos : function() {
               obj = $(this).get(0);
        var curleft = obj.offsetLeft || 0;
        var curtop = obj.offsetTop || 0;
        while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
        }
        return {x:curleft,y:curtop};
           }
       });
